package com.qdlc.p2p.dal.dao;

import java.util.List;

import com.qdlc.p2p.dal.common.dao.BaseDao;
import com.qdlc.p2p.dal.common.model.jpa.PageDataList;
import com.qdlc.p2p.dal.dto.AdditionalFlowYieldPlan;
import com.qdlc.p2p.dal.dto.User;
import com.qdlc.p2p.dal.model.FlowProjectModel;
import com.qdlc.p2p.dal.model.FlowYieldPlanModel;

/**
 * 理财人待收计划DAO接口
 * @author wjx
 * @version 2.0
 * @since 2015年05月15日 11时37分40秒
 */
public interface AdditionalFlowYieldPlanDao extends BaseDao<AdditionalFlowYieldPlan> {

    /**
     * 查询理财人待收计划
     * 
     * @param id 主键ID
     * @return理财人待收计划实体
     */
    AdditionalFlowYieldPlan getAdditionalFlowYieldPlanById(long id);
    
    /**
     * 查询用户回款计划
     * @param userId
     * @param model
     * @return
     */
    PageDataList<FlowYieldPlanModel> getYieldPlanList(long userId,FlowProjectModel model);
    
    /**
	 * 获取用户流转理财代收
	 * @param userId
	 * @return
	 */
    Object[] getFlowCollectionByUserId(long userId);
    
    /**
     * 根据用户和时间获取待流转理财代收本金总额
     * @param user 用户 date 时间
     * @return 待收本金日期和金额
     */
    List<Object[]> getFlowCapitalByUserAndDate(User user, String date);
    
    /**
     * 根据用户和时间获取待流转理财代收利息总额
     * @param user 用户 date 时间
     * @return 待收本金日期和金额
     */
    List<Object[]> getFlowInterestByUserAndDate(User user, String date);
}
